/**
 * 目前全量导入antd中提供的所有图标
 * 会导致项目打包后体积变大(有没使用到的图标也被打包进去)
 * 后续优化(使用iconfont.cn的方式进行图标引入)
 */
import React, { FC } from 'react';
import * as AntdIcons from '@ant-design/icons';

export type IconsProps = {
  /** Antd图标类型 */
  type: keyof typeof AntdIcons;

  /** 旋转角度 */
  rotate?: number;

  /** 样式 */
  style?: any;

  /** 点击事件 */
  onClick?: () => void;

  /** 类名 */
  className?: string;
};

const Icons: FC<IconsProps> = ({ type, ...props }) => {
  const AntdIcon: any = AntdIcons[type];
  return AntdIcon ? React.createElement(AntdIcon, { ...props }) : null;
};

export default Icons;
